#ifndef BINARYOPERATIONARGUMENTS_H_JM_20121205
#define BINARYOPERATIONARGUMENTS_H_JM_20121205


namespace jm4bbx {

	template<class ArgumentT>
	class  BinaryOperationArguments {
	public:
		typedef ArgumentT ArgumentType;

		static ArgumentType* getFirstArgument() {
			static ArgumentType arg;
			return &arg;
		}

		static ArgumentType* getSecondArgument() {
			static ArgumentType arg;
			return &arg;
		}

	private:
		BinaryOperationArguments() { }
		virtual ~BinaryOperationArguments() { }
		BinaryOperationArguments(const BinaryOperationArguments& a);
		BinaryOperationArguments& operator=(const BinaryOperationArguments& a);

	};

} // namespace jm4bbx


#endif
